package com.vpen.springsecuritytest.authority;

import org.springframework.security.core.Authentication;

import javax.servlet.http.HttpServletRequest;


/**
 * -@Version 1.0
 * -@Author:Vpen
 * -@Date:2021/3/15 9:35
 * -@Content:自定义权限校验接口
 */
public interface MyAuthorityPermit {
    /**
    * -@author Vpen
    * -@name hasAuthority
    * -@date 2021/3/15 9:40
    * -@param
     * [
     * request：请求对象，可以通过请求对象获取请求路径，请求参数，请求数据作用域
     * authentication：用户登录成功后，SpringSecurity维护的用户登录标记，内部包含UserDetail的信息(用户名和权限集)
     * ]
    * -@return boolean
    * -@作用:权限校验逻辑方法，当用户有权限返回true，无权限的时候返回false
     * 当用户登录成功后，通过用户携带权限集合，验证用户本次访问的路径是否有权限
    */
    boolean hasAuthority(HttpServletRequest request,
                                Authentication authentication);
}
